/*
* @Author: Choisaaaa
* @Date: 2018/5/5  23:53
* ES6 基础语法
*/


//ECMA Script，JavaScript的标准
//ES6 提升了JS编写大型复杂的应用程序的能力
//Babel：ES6->ES5


//------------------------------1.let 和 const----------------------------------
//let 定义变量
//const 定义常量



//-------------------2.let具有块级作用域----var：没有块级作用域-----------------
if(true){
    var name = "name";
}
console.log(name) //结果undefined var没有块级作用域

if(true){
    let name = "name";
}
console.log(name) //Uncaught ReferenceError: name2 is not defined at <anonymous>



//-------------------3.let不存在变量提升----var：存在变量提升---------------------
console.log(foo); //结果undefined var没有块级作用域
var foo = 1;
//因为在编译的过程会有变量提升如下
var foo
console.log(foo)
foo = 1

console.log(foo);  //Uncaught ReferenceError: name2 is not defined at <anonymous>
let foo = 1;

//---------------------4.箭头函数--------------------------------------------------
/**
 * 语法 ： 参数=>表达式/语句
 * 继承外层作用域（没有this指针）
 * 不能用作构造函数
 * 没有prototype属性
 */